odgi-泛基因组分析工具包
简介
安装
命令集
bin
break
bulid
chop
cover
crush
degree
depth
draw
explode
extract
flatten
生成的线性fasta有实际意义么? SNP怎么处理的?
path to flatten的映射bed文件, 似乎不太好解析, 难以直接用?
怎么用flatten鉴定PAV?
flip
groom
heaps
inject
kmers
layout
matrix
normalize
overlap
panpos
pathindex
pav
odgi pav [-i, --idx=FILE] [-b, –bed-file=FILE] [OPTION]…
# 必须参数: IO
-i,--idx=FILE # odgi的图表示, 也可以输入gfav1, 但是程序会自动转成og, 转换过程比较慢
-b,--bed-file=FILE # 鉴定这个bed区间内的pav信息
# 可选参数:
-p, --path-groups=FILE # 提供og中path的分组信息,两列的列表: <path.name> <group.name>
-S, --group-by-sample # 按照PanSN的命名规范(sample#hap#ctg), 对sample进行分组
-H, --group-by-haplotype # 按照PanSN命名规范, 对hap进行分组
-B, --binary-values=THRESHOLD # 设置cutoff, 把pav转成0/1表示: ratio > cutoff ? 1 : 0
-M, --matrix-output # 生成pav矩阵的格式, 列: regions, 行: paths/groups
# 性能参数
-t, --threads=N
-P, --progress # 进度条
-h, --help
bash
参考这里
几个注意点:
og中的每个path都能用来鉴定pav, 通常鉴定pav的时候需要进行滑窗操作, 可以用
bedtools makewindows
生成窗口PAV ratio的计算公式:(\(len\): lenght; \(N_{ovlp}\): 与区间中的path有交集的node; \(N_{all}\): 区间中的所有node)
-p
非常有用!!!, 如果不加分组信息, 会对每个path都输出一个pav结果, 文件大小轻松上TB级别!!!-M
输出pav矩阵, 跟-B
一起用, 很方便得到PAV的0/1矩阵可以不局限于一个ref的path, 可以对所有的path都鉴定PAV:
odgi paths -i ref.og -L > all.paths.txt # 输出所有path
odgi untangle -i ref.og -R all.paths.txt | sed '1d' |\
cut -f 4,5,6 | sort | uniq > all.paths.bed # 输出所有path的区间信息
odgi pav -i ref.og -b all.paths.bed -M > all.paths.pav.matrix # 鉴定pav
bash
如何去除冗余?
如何把path的区间变回真实的基因组上区间?
可以生成一致性的区间, 然后再鉴定PAV么? =>
odgi flatten
似乎可以?